// const process = require('node:process')
//  获取 cpu 架构 
console.log(process.arch)

// 操作系统
console.log(process.platform)

/** 
 *  argv返回数组  
 * [
  'C:\\Program Files\\nodejs\\node.exe',  脚本运行工具
  'D:\\web\\node\\qianfeng-nodejs-notes\\code\\07-node-内置模块\\03-process.js',     脚本运行路径
  '--version' 脚本运行参数
]
 *  node .\03-process.js --version 
 */
console.log(process.argv, process.argv.includes('--version') ? '1.0.0' : '--')  // 1.0.0
// cwd()  获取工作目录  __dirname  esm模式下用不了 __dirname 可以使用 cwd 代替
console.log(process.cwd(), __dirname, process.cwd() === __dirname) //D:\web\node\qianfeng-nodejs-notes\code\07-node-内置模块

/** 
 * memoryUsage 获取内存信息 
 * {
  rss: 31784960,  常驻集 物理内存的存量
  heapTotal: 6369280,  v8 给我分配的堆内存大小 包括未使用的额
  heapUsed: 5740072,   已经使用的内存
  external: 531311,    外部内存 c c++ 使用的
  arrayBuffers: 17378   二进制总量
}
 * */
console.log(process.memoryUsage())

// 退出进程 exit  使用 node
// setTimeout(() => {
//     console.log(5)
// }, 5000)
// process.on('exit', () => {
//     console.log('进程退出了')
// })
// setTimeout(() => {
//     process.exit()
// }, 2000)

// 杀死进程 kill  需要一个参数 pid 进程 id
// setTimeout(() => {
//     console.log(5)
// }, 5000)
// process.on('kill', () => {
//     console.log('进程被杀死了')
// })
// setTimeout(() => {
//     process.kill(process.pid)
// }, 2000)

// env 环境变量 获取操作系统所有环境变量  可以修改  修改只在当前进程生效 不会真正影响系统的环境变量
// 使用 cross-env 包设置环境变量
// 跨平台的 window SET 环境变量  posix export 设置环境变量
console.log(process.env.NODE_ENV === 'dev' ? '开发环境 http' : '生产环境 https');




